package pos.domain;

import java.io.Serializable;

public class TipoLinkcomposto_da implements Serializable {

    private Piano piano;
    private Corso corso;
    private int anno;
    private int semestre;

    public TipoLinkcomposto_da() {
    }

    public TipoLinkcomposto_da(Piano p, Corso c, int a, int s) throws EccezionePrecondizioni {
        if (p == null || c == null) // CONTROLLO PRECONDIZIONI
        {
            throw new EccezionePrecondizioni("Gli oggetti devono essere inizializzati");
        }
        piano = p;
        corso = c;
        anno = a;
        semestre = s;
    }

    public boolean equals(Object o) {
        if (o != null && getClass().equals(o.getClass())) {
            TipoLinkcomposto_da b = (TipoLinkcomposto_da) o;
            return b.piano.equals(piano) && b.corso.equals(corso);
        } else {
            return false;
        }
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 89 * hash + (this.piano != null ? this.piano.hashCode() : 0);
        hash = 89 * hash + (this.corso != null ? this.corso.hashCode() : 0);
        return hash;
    }


    public Piano getPiano() {
        return piano;
    }

    public Corso getCorso() {
        return corso;
    }

    public int getAnno() {
        return anno;
    }

    public int getSemestre() {
        return semestre;
    }

    public String getCorso_nome() {
        return corso.getNome();
    }

    public String getUtente() {
        return corso.getUtente();
    }

    public int getPiano_id() {
        return piano.getId_piano();
    }

    public void setAnno(int anno) {
        this.anno = anno;
    }

    public void setSemestre(int sem) {
        semestre = sem;
    }
}
